package com.base.cn.platform.os.entity.order.shop;

import com.base.cn.platform.os.entity.book.Book;
import com.base.cn.platform.os.entity.course.cou.Course;
import com.base.cn.platform.os.entity.exam.paper.ExamPaper;
import com.base.cn.platform.os.entity.qa.question.QaQuestion;
import com.base.cn.platform.os.entity.user.member.CusUserMember;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Map;

/**
 * @describe 商品数据对象
 * @auther s.li
 * @date 2019/6/4 14:14
 */
@Data
public class ShopData implements Cloneable, Serializable {
    private static final long serialVersionUID = 563119606998757036L;
    /**购物车ID*/
    private BigDecimal shopCartId;
    /**商品ID*/
    private BigDecimal shopId;
    /**商品名*/
    private String shopName;
    /**商品类型*/
    private String shopType;
    /**商品实销价*/
    private double oldPrice;
    /**商品价格*/
    private double realPrice;
    /**会员价格*/
    private double memberPrice;
    /**优惠券减免金额*/
    private double discountSubPrice;
    /**活动减免金额*/
    private double activitySubPrice;
    /**会员减免金额*/
    private double memberSubPrice;
    /**购买量*/
    private int buyNum;
    /**推广员KEY*/
    private String shareKey;
    /**流水ID*/
    private BigDecimal detailsId;
    /**课程Map*/
    private Course course;
    /**图书Map*/
    private Book book;
    /**会员Map*/
    private CusUserMember member;
    /**问答Map*/
    private QaQuestion qa;
    /**考试Map*/
    private ExamPaper exam;
    /**充值 key -- realPrice value -- realPrice*/
    private Map<String, Double> account;

    @Override
    public ShopData clone() {
        try{
            return (ShopData)super.clone();
        }catch (Exception e){
            e.printStackTrace();
        }
        return null;
    }
}
